package org.mspring.mlog.service;

import java.util.List;

import org.mspring.mlog.entity.PostCatalog;
import org.mspring.platform.dao.hibernate.IGenericDao;

/**
 * 
 * @author Gao Youbo
 * @since 2013-06-18 16:34:42
 */
public interface PostCatalogService extends IGenericDao<PostCatalog, java.lang.Long> {
    /**
     * 根据名称查找catalog
     * 
     * @param name
     * @return
     */
    PostCatalog getPostCatalogByName(String name);

    /**
     * 判断Catalog是否存在
     * 
     * @param name
     * @param id
     * @param user
     * @return
     */
    boolean postCatalogExists(String name, Long id, Long user);

    /**
     * 批量设置catalog排序
     * 
     * @param ids
     *            catalog编号
     * @param orders
     *            排序号码
     */
    void setPostCatalogOrders(Long[] ids, Long[] orders);

    /**
     * 获取用户对应的文章分类
     * 
     * @param user
     * @return
     */
    List<PostCatalog> findPostCatalogByUser(Long user);

    /**
     * 安全的删除文章分类，防止其他登录UCenter用户删除别人的东西
     * 
     * @param id
     * @param user
     */
    void safeRemove(Long id, Long user);

}